Learn R Programming

Compositional (version 5.5)

Multivariate skew normal random values simulation on the simplex: Multivariate skew normal random values simulation on the simplex

Description

Multivariate skew normal random values simulation on the simplex.

Usage

rcompsn(n, xi, Omega, alpha, dp = NULL, type = "alr")

Arguments

n

The sample size, a numerical value.

xi

A numeric vector of length \(d\) representing the location parameter of the distribution.

Omega

A \(d \times d\) symmetric positive-definite matrix of dimension.

alpha

A numeric vector which regulates the slant of the density.

dp

A list with three elements, corresponding to xi, Omega and alpha described above. The default value is FALSE. If dp is assigned, individual parameters must not be specified.

type

The alr (type = "alr") or the ilr (type = "ilr") is to be used for closing the Euclidean data onto the simplex.

Value

A matrix with the simulated data.

Details

The algorithm is straightforward, generate random values from a multivariate t distribution in \(R^d\) and brings the values to the simplex \(S^d\) using the inverse of a log-ratio transformation.

References

Azzalini, A. and Dalla Valle, A. (1996). The multivariate skew-normal distribution. Biometrika, 83(4): 715-726.

Azzalini, A. and Capitanio, A. (1999). Statistical applications of the multivariate skew normal distribution. Journal of the Royal Statistical Society Series B, 61(3):579-602. Full-length version available from http://arXiv.org/abs/0911.2093

Aitchison J. (1986). The statistical analysis of compositional data. Chapman & Hall.

See Also

comp.den, rdiri, rcompnorm, rmvt

Examples

Run this code
# NOT RUN {
x <- as.matrix(iris[, 1:2])
par <- sn::msn.mle(y = x)$dp
y <- rcompsn(100, dp = par)
comp.den(y, dist = "skewnorm")
ternary(y)
# }

Run the code above in your browser using DataLab